#ifndef _ENCRYPT_HELPER_H
#define _ENCRYPT_HELPER_H

#include "../LibUtil.h"

LIB_UTIL_NAMESPACE_BEGIN

class EncryptHelper {
public:
	enum EncryptType {
		Binary,
		BinaryNonEncrypt,
		Base64,
		Base64NoeEncrypt,
	};
	virtual bool EncryptData(const tDataBuffer& inBuffer, tDataBuffer& outBuffer, EncryptType type = Binary) = 0; 
	virtual bool DecryptData(const tDataBuffer& inBuffer, tDataBuffer& outBuffer, EncryptType type = Binary) = 0; 

	 static EncryptHelper* CreateEncryptHelper();
	 static void ReleaseEncryptHelper(EncryptHelper* helper);
protected:
	EncryptHelper() {}
	virtual ~EncryptHelper() {}
};

LIB_UTIL_NAMESPACE_END

#endif //_ENCRYPT_HELPER_H